//
//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include"test.h"
//
//struct ListNode* Findmeet(struct ListNode* rhead, struct ListNode* cur1)
//{
//    struct ListNode* pre1 = rhead;
//    struct ListNode* pre2 = cur1;
//    int len1 = 1;
//    int len2 = 1;
//
//    while (pre1->next)
//    {
//        pre1 = pre1->next;
//        len1++;
//    }
//    while (pre2->next)
//    {
//        pre2 = pre2->next;
//        len2++;
//    }
//
//    if (pre1 != pre2)
//    {
//        return NULL;
//    }
//
//    int gap = abs(len1 - len2);
//
//    struct ListNode* fast = pre1;
//    struct ListNode* slow = pre2;
//    if (len2 > len1)
//    {
//        fast = pre2;
//        slow = pre1;
//    }
//
//    while (gap--)
//    {
//        fast = fast->next;
//    }
//
//    while (fast != slow)
//    {
//
//        fast = fast->next;
//        slow = slow->next;
//    }
//    return fast;
//
//}